//
//  AMBaseController.h
//  WeiDu_1_0
//
//  Created by foguo-mac-1 on 01/07/16.
//  Copyright (c) 2016 WeiDu Energy Tech. All rights reserved.
//

#import "HOBaseObject.h"
#import "HOViewControllerDelegate.h"
#import "HOControllerDelegate.h"
#import "HOBaseDataModule.h"
#import "HOBaseDataModule.h"

@interface HOBaseController : HOBaseObject<HOControllerDelegate>
{
    
    NSMutableArray                            *viewListeners;
    HOBaseDataModule                          *dataModule;
    HO_MODULE_TYPE                            moduleType;
}

- (instancetype)initWithModuleType:(HO_MODULE_TYPE)type;
- (HOBaseDataModule *)getDataModule;
- (void)sendCommand:(NSString *)action data:(id)data;
- (void)sendRequestWithRequest:(HOBaseRequestEntity *)request;
- (void)sendRequestWithParams:(NSDictionary *)dic;
- (void)sendRequestWithParams:(NSDictionary *)dic withModules:(NSArray *)modules;
- (void)removeListener:(NSObject<HOViewControllerDelegate> *)view;

- (void)handleResponseLogic:(HOBaseResponseEntity *)response;
- (void)logout;

@end
